using Joy.Erp.BasicArchives.ItemMasters;
using Joy.Erp.BasicArchives.Storage;
using System;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Domain.Entities;

namespace Joy.Erp.BasicArchives.Receipt
{
    public class ReceivementLineDto : ExtensibleEntityDto<Guid>, IHasConcurrencyStamp
    {
        /// <summary>
        /// 主单据
        /// </summary>
        public Guid DocumentId { get; set; }
        /// <summary>
        /// 主单据
        /// </summary>
        public ReceivementDocumentDto Document { get; set; }
        /// <summary>
        /// 料品
        /// </summary>
        public Guid ItemMasterId { get; set; }
        /// <summary>
        /// 料品
        /// </summary>
        public ItemMasterDto ItemMaster { get; set; }
        /// <summary>
        /// 料品编号
        /// </summary>
        public string ItemCode { get; set; }
        /// <summary>
        /// 料品名称
        /// </summary>
        public string ItemName { get; set; }
        /// <summary>
        /// 规格型号
        /// </summary>
        public string ItemSpec { get; set; }
        /// <summary>
        /// 实收数量
        /// </summary>
        public decimal Quantity { get; set; }
        /// <summary>
        /// 发货数量
        /// </summary>
        public decimal ShipmentQuantity { get; set; }
        /// <summary>
        /// 计量单位
        /// </summary>
        public Guid UnitId { get; set; }
        /// <summary>
        /// 计量单位
        /// </summary>
        public AuxiliaryUnitDto Unit { get; set; }
        /// <summary>
        /// 单价
        /// </summary>
        public decimal UnitPrice { get; set; }
        /// <summary>
        /// 仓库
        /// </summary>
        public Guid? WarehouseId { get; set; }
        /// <summary>
        /// 仓库
        /// </summary>
        public WarehouseDto Warehouse { get; set; }
        /// <summary>
        /// 批号
        /// </summary>
        public string Batch { get; set; }
        /// <summary>
        /// 行号
        /// </summary>
        public int LineNo { get; set; }
        /// <summary>
        /// 来源类型
        /// </summary>
        public string SourceType { get; set; }
        /// <summary>
        /// 来源主键
        /// </summary>
        public string SourceKey { get; set; }
        /// <summary>
        /// 来源时间
        /// </summary>
        public DateTime? SourceCreatedOn { get; set; }
        /// <summary>
        /// 最后编辑时间
        /// </summary>
        public DateTime? LastModificationTime { get; set; }
        /// <summary>
        /// 最后编辑人
        /// </summary>
        public Guid? LastModifierId { get; set; }
        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime? CreationTime { get; set; }
        /// <summary>
        /// 创建人
        /// </summary>
        public Guid? CreatorId { get; set; }
        /// <summary>
        /// 修改锁
        /// </summary>
        public string ConcurrencyStamp { get; set; }
    }
} 